package com.demo.java.OD401_450.OD438;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【灰度图恢复/存储(C&D卷-200分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146325304
 */
public class OdMain {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 读入输入
        String[] inputArr = scanner.nextLine().split(" ");
        int[] arr = new int[inputArr.length];
        for (int i = 0; i < inputArr.length; i++) {
            arr[i] = Integer.parseInt(inputArr[i]);
        }

        // 获取行数r和列数c
        int r = scanner.nextInt();
        int c = scanner.nextInt();

        // 查找指定行列的像素值
        findValue(arr, r, c);
    }

    // 根据行列数r和c查询压缩图像的数据
    public static void findValue(int[] arr, int r, int c) {
        int cols = arr[1];  // 获取每行的像素数
        int pos = r * cols + c + 1;  // 计算查询的具体位置，考虑从1开始的偏移
        int left = 0;
        int right = arr.length - 1;

        // 二分查找算法
        while (left < right) {
            int mid = (left + right) / 2;  // 计算中间位置
            int currentSum = 0;

            // 计算每行的像素
            for (int i = 3; i <= mid; i += 2) {
                currentSum += arr[i];
            }

            // 判断是否已找到
            if (currentSum >= pos) {
                right = mid;
            } else {
                left = mid + 1;
            }
        }

        // 输出最终找到的像素值
        System.out.println(arr[left - 1]);
    }
}
